package org.eiahe.hr.attendance.domain.bo;

import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ehe.common.core.validate.AddGroup;
import org.ehe.common.core.validate.EditGroup;
import org.ehe.common.mybatis.core.domain.BaseEntity;
import org.eiahe.hr.attendance.domain.AttendanceType;

/**
 * 考勤人员类型业务对象 hr_attendance_type
 *
 * @author zhangnn
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = AttendanceType.class, reverseConvertGenerate = false)
public class AttendanceTypeBo extends BaseEntity {

    /**
     * 考勤类型ID
     */
    @NotNull(message = "考勤类型ID不能为空", groups = { EditGroup.class })
    private Long typeId;

    /**
     * 考勤类型名称
     */
    @NotBlank(message = "考勤类型名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String typeName;

    /**
     * 是否需要打卡(0-不需要 1-需要)
     */
    private String needPunch;



    /**
     * 允许打卡方式(多选,逗号分隔: 1-考勤机 2-APP 3-PC)
     */
    private String punchMethod;

    /**
     * 允许最早打卡时间(如06:00)
     */
    private String earliestPunchTime;
    /**
     * 允许最晚打卡时间(如23:59)
     */
    private String latestPunchTime;

    /**
     * 启用状态(0-停用 1-启用)
     */
    private String status;

    /**
     * 备注
     */
    private String remark;
}
